A register file is an array of processor registers in a central processing unit (CPU), or processor. Modern integrated circuit-based register files are usually implemented by way of fast static random access memories (SRAMs) with multiple ports. Such SRAMs are distinguished by having dedicated read and write ports. The instruction set architecture of a conventional CPU may typically define a set of registers which are used to stage data between memory and the functional units on an Integrated circuit (IC), also referred to as a chip.
ICs have consistently migrated to smaller feature sizes over the years, allowing more circuitry to be packed on each chip. This increased capacity per unit area can be used to decrease cost or increase functionality per unit area. In general, as the feature size shrinks, many characteristics improve. For example, the cost per unit and the switching power consumption go down, and the speed goes up.
Since these speed and power consumption gains are apparent to the end user, there is strong motivation to use finer geometries to shrink the dimensions of device elements and line features in electronic circuits. In order to increase device density on a wafer comprising a number of circuit chips, the supply voltage (VDD) needs to be scaled appropriately to power devices, primarily because scaling critical dimensions of a device requires scaling the driving voltage to provide the same electric field density that governs current density, field effects and amplification, etc.
Unfortunately, process variations may not similarly scale in a cooperative manner, leading to larger relative variability in device performance. In addition, lower voltage margins, due to the smaller absolute voltage range, may raise the faulty bit rate severely as feature size declines toward 22 nm and downward. Processors implemented with ever decreasing line width dimensions may lead to higher faulty bit rates in structures with large number of ports, such as register files. Thus, solutions for maintaining satisfactory register file yield must be provided to enable timely implementation.
Features, elements, and aspects of the invention that are referenced by the same numerals in different figures represent the same, equivalent, or similar features, elements, or aspects, in accordance with one or more embodiments.